/*eslint-disable*/ function Hashtable(){var j={__indexToValue:[],__indexToKeys:[]}; var f=[]; var h=0; var k=this; function g(b){var a=null; var c=0; while(typeof f[c]=="number"){c+=1 }f[c]=0; this.hasNext=this.hasMoreElements=function(){if(f[c]0){prefix=B+"." }else{prefix="" }d=prefix+E; if(k(F)){if(j.functionShouldBeCollected(F,E)){var G=f.names; g=G.length; G[g]=d }else{if(a=="partial"){c.size+=C.length; c.count++ }}}if(A+1v){var c=e.names; var d=c.toString(); var y=b.length-JSON.stringify(c).length+"[]".length; var f=false; var w=c.length; while(!f){if(a++==1000){f=true }lastComma=d.lastIndexOf(","); if(lastComma>=0&&w>0){quotation_marks=w*2; if(y+lastComma+quotation_marks>v){d=d.substring(0,lastComma-1); w-- }else{f=true }}else{f=true }}if(w>1){e.truncated=true; e.names=e.names.slice(0,w-1); x.functions.truncated=true }else{j.emptyDomData(); x=j.dom_data; x.collection_status=DomDataCollection.Partial; x.functions.truncated=true }}}; j.inspectFrames=function(){j.countElements("iframe") }; j.countElements=function(e){var d; var c=document.getElementsByTagName(e); if(j.dom_data.iFrames===undefined){j.dom_data.iFrames=[] }var b=j.dom_data.iFrames; var a=b.length; for(i=0; i0){element_name=d }else{if(f&&f.length>0){element_name=f }else{element_name="NO_NAME" }}e[g+a]=element_name }e.sort() }; j.inspectInputFields=function(){j.collectFields("input"); j.collectFields("textarea"); j.collectFields("select"); j.collectFields("button") }; loadJSON=function(){if(!window.JSON){var a=document.getElementsByTagName("head")[0]; var b=document.createElement("script"); b.type="text/javascript"; b.src=j.config.json_script; a.appendChild(b) }}; j.emptyDomData(); loadJSON() }DomDataCollection.Success=0; DomDataCollection.Fail=1; DomDataCollection.Partial=2; DomDataCollection.NotStarted=3; function IE_FingerPrint(){this.deviceprint_browser=function(){var a=navigator.userAgent.toLowerCase(); t=a+SEP+navigator.appVersion+SEP+navigator.platform; t+=SEP+navigator.appMinorVersion+SEP+navigator.cpuClass+SEP+navigator.browserLanguage; t+=SEP+ScriptEngineBuildVersion(); return t }; this.deviceprint_software=function(){var b=""; var l=true; try{document.body.addBehavior("#default#clientCaps"); var k; var m=d.length; for(i=0; i255){return false }}return true }else{return false }}; ProxyCollector.initProxyCollection=function(){if(ProxyCollector.isValidIPAddress(ProxyCollector.externalIP)&&ProxyCollector.isValidIPAddress(ProxyCollector.internalIP)){ProxyCollector.collect() }}; function BlackberryLocationCollector(){var m=this; var q=null; this.getGeolocationWatchId=function(){return q }; var n=null; this.getGeolocationLastPosition=function(){return n }; var r=4; this.getGeolocationStatusCode=function(){return r }; var l=""; this.getGeolocationErrorMessage=function(){return l }; var k={aidMode:2,timeout:180,relevancy:120,expiration:48,alertDebug:false}; var o=-1; var j=0; this.getInvokeCount=function(){return j }; this.handleBlackBerryLocationTimeout=function(){if(o!=-1){m.stopWatch(); r=3; if(j===0&&k.aidMode!==0){j++; m.startLocationWatch() }}}; this.handlePosition=function(){clearTimeout(o); o=-1; var c=false; if(blackberry.location.latitude===0&&blackberry.location.longitude===0){if(k.alertDebug){alert("Got empty position") }if(n===null){r=2 }}else{var a=null; if(blackberry.location.timestamp){a=getTimestampInMillis(blackberry.location.timestamp) }else{a=new Date().getTime() }var b=new Date().getTime(); if((b-a)<=(k.expiration*60*60*1000)){if(n===null||a>n.timestamp){var d=n===null?0:n.timestamp; if(k.alertDebug){alert("Saved new position. New timestamp: "+a+" Old: "+d) }n={timestamp:a,coords:{latitude:blackberry.location.latitude,longitude:blackberry.location.longitude}}; r=0 }else{if(k.alertDebug){alert("New position is not saved. New timestamp: "+a+" Old: "+n.timestamp) }}}else{if(k.alertDebug){alert("New position is not saved. It is expired: "+((b-a)*1000*60*60)+" hours old") }}}if(n!==null){var b=new Date().getTime(); c=(b-n.timestamp)<(k.relevancy*1000) }m.stopWatch(); if(k.alertDebug){alert("Relevant position? "+c) }if((j===0&&k.aidMode!==0)||!c){j++; m.startLocationWatch() }}; this.init=function(a,b,d,c){if(a>=0&&a<=2){k.aidMode=a }if(b!==null&&b>=90&&b<=300){k.timeout=b }if(d!==null&&d>=60&&d<=240){k.relevancy=d }if(c!==null&&c>=24&&c<=60){k.expiration=c }}; this.startLocationWatch=function(){if(j===0){blackberry.location.setAidMode(0) }else{blackberry.location.setAidMode(k.aidMode) }var a=k.timeout*1000; o=setTimeout("geoLocator.handleBlackBerryLocationTimeout()",a); blackberry.location.onLocationUpdate(m.handlePosition); blackberry.location.refreshLocation(); q=1; return true }; this.stopWatch=function(){try{blackberry.location.removeLocationUpdate(m.handlePosition) }catch(a){}q=-2 }; this.generateGeolocationJSONStruct=function(){var b=null; if(n!==null){var a=convertTimestampToGMT(n.timestamp); b={GeoLocationInfo:[{Status:r,Longitude:n.coords.longitude,Latitude:n.coords.latitude,Timestamp:a}]} }else{b={GeoLocationInfo:[{Status:r}]} }return JSON.stringify(b) } }function detectFields(){var u="form"; var n="input"; var j=document.getElementsByTagName("form"); var w=j.length; var m; var v; var q=[]; q.push("url="+window.location.href); for(var r=0; r0){var r=""; var u="Plugins"; var m=s.length; for(i=0; i0){n=""; for(i=0; i0){var o=""; var a=""; var n=""; for(i=0; i=0&&a<=200){h.accuracy=a }if(b!==null&&b>=90&&b<=300){h.timeout=b }if(d!==null&&d>=60&&d<=240){h.relevancy=d }if(c!==null&&c>=24&&c<=60){h.expiration=c }}; this.handlePosition=function(d){var c=new Date().getTime(); var b=getTimestampInMillis(d.timestamp); if((c-b)<=(h.expiration*60*60*1000)){if(l===null||d.timestamp>l.timestamp||d.coords.accuracy=0; c--){if(F[c]==p){found=true; continue }}if(!a){M[p]=b[p] }}}}Y=false; N=X(); K={elements:new UIElementList(),events:[],collection_status:0,toString:function(){return"RecordedData: {elements: "+this.elements+", events: "+this.events+"}" }}; R() }function J(){var c=V(); for(var a=0,b=c.length; a2100){b=new Date(b/1000) }b=b.getTime(); return b }function T(a){var b=null; var c=K.elements; var d=c.size(); var e=Z(a); if(!K.elements.containsKey(e)){b=new InteractionElement(); b.id(e); b.type(D(a)); b.length(a.value?a.value.length:0); c.put(b) }else{b=c.get(e) }return b }function P(d){var f=d||window.event; var a=W(f); if(G(a)){var b=T(a); b.incrementEventCount(); var c=new UIEvent(); c.index(b.index()); c.type(aa(f)); var e=I(f); c.offset(e-N); K.events.push(c) }return true }function E(a){var b=a||window.event; if(H(b)){var c={target:W(b),type:"paste"}; return P(c) }else{return P(b) }}function H(b){if(b.type=="keydown"){var a=b.which||b.charCode||b.keyCode; var c=(typeof KeyboardEvent!="undefined"&&a==KeyboardEvent.DOM_VK_V)||a==118||a==86; if(c&&(b.ctrlKey||b.metaKey)){return true }}return false }function W(a){return a.target?a.target:a.srcElement }function I(b){var a; if(b.timeStamp&&b.timeStamp!==0){a=b.timeStamp; if(new Date(a).getYear()>2100){a=a/1000 }}else{a=new Date().getTime() }return a }function L(a){}function Q(){J(); var b=K.elements; for(var e=b.size(); e>=1; e--){var c=b.getByIndex(e); var d=c.id(); var a=document.getElementById(d); if(!a){var f=document.getElementsByName(d); if(f.length>0){a=f[0] }}if(a&&a.value){c.length(a.value.length) }}}function S(d){var f=d||window.event; var a=d.target; if(a.nodeType==1){var c=a.getElementsByTagName("form"); for(var e=c.length-1; e>=0; e--){var b=c[e]; b.onsubmit=recordFormSubmitEvent }}}function R(){var a=P; var b=document; if(b.addEventListener){b.addEventListener("keydown",E,false); b.addEventListener("paste",a,false); b.addEventListener("focus",a,true); b.addEventListener("blur",a,true) }else{if(b.attachEvent){b.onkeydown=E; b.onfocusin=a; b.onfocusout=a }}}function U(){return private_config }function aa(a){if(a.type=="keydown"){return UIEvent.KeyDown }else{if(a.type=="submit"){return UIEvent.Submit }else{if(a.type=="paste"){return UIEvent.Paste }else{if(a.type=="focus"||a.type=="focusin"){return UIEvent.Focus }else{if(a.type=="blur"||a.type=="focusout"){return UIEvent.Blur }else{return UIEvent.Unknown }}}}}}function C(a){if(a==UIEvent.KeyDown){return"keydown" }else{if(a==UIEvent.Submit){return"submit" }else{if(a==UIEvent.Focus){return"focus" }else{if(a==UIEvent.Blur){return"blur" }else{if(a==UIEvent.Paste){return"paste" }else{return"unknown" }}}}}}function D(a){return a.nodeName+(a.type?(":"+a.type):"") }function Z(a){return a.id?a.id:(a.name?a.name:a.nodeName) }return{addElement:function(a){return T(a) },getEventType:function(a){return aa(a) },getEventCode:function(a){return C(a) },getRecordedData:function(){return K },getElementType:function(a){return D(a) },getElementId:function(a){return Z(a) },initEventCollection:function(a){O(a) },getConfig:function(){return M },serialize:function(){Q(); var c=this.getRecordedData(); var m=c.elements; var B=[]; for(var e=0; e0; n--){var b=m.getByIndex(n); var j=b.serialize()+ad; L("elementsStr.length: "+u.length); if(ac&&((g+u.length+j.length)>f)){Y=true; break }var s=b.type().match("INPUT:checkbox"); if(s==null){if(b.length()>0&&b.eventCount()==0){L("collecting element without input: "+b); u=j+u }}}g+=u.length; var y=""; L("serializing events "); while(v--){var k=A[v]; var l=k.index(); var w=k.serialize()+ad; var j=m.getByIndex(l).serialize()+ad; var z=w.length; if(!B[l]){z+=j.length }L("eventsStr.length: "+y.length); if(ac&&((g+y.length+z)>f)){Y=true; break }L("collecting event: "+k); if(!B[l]){u=j+u; g+=j.length; L("also adding element event: "+j) }B[l]=true; y=w+y }if(u.length>0){u=u.substring(0,u.length-1) }if(y.length>0){y=y.substring(0,y.length-1) }var h=Y?1:0; var x=u+o+y+o+h+a+d; return x }} })(); function UIEvent(){var b=(this===window)?{}:this; b.index=function(a){if(arguments.length===0){return b._index }else{b._index=arguments[0] }}; b.offset=function(a){if(arguments.length===0){return b._offset }else{b._offset=arguments[0] }}; b.type=function(a){if(arguments.length===0){return b._type }else{b._type=arguments[0] }}; b.serialize=function(){var a=","; var d="0"; return b.index()+a+b.type()+a+d }; b.toString=function(){return"UIEvent: [index: "+b.index()+", type: "+b.type()+", offset: "+b.offset()+"]" } }UIEvent.Unknown=0; UIEvent.KeyDown=1; UIEvent.Submit=2; UIEvent.Focus=3; UIEvent.Blur=4; UIEvent.Paste=5; function InteractionElement(){var b=(this===window)?{}:this; b._eventCount=0; b.id=function(a){if(arguments.length===0){return b._id }else{b._id=arguments[0] }}; b.index=function(a){if(arguments.length===0){return b._index }else{b._index=arguments[0] }}; b.length=function(a){if(arguments.length===0){return b._length }else{b._length=arguments[0] }}; b.type=function(a){if(arguments.length===0){return b._type }else{b._type=arguments[0] }}; b.incrementEventCount=function(){b._eventCount++ }; b.eventCount=function(){return b._eventCount }; b.serialize=function(){var a=","; var d=b.index(); return b.index()+a+d+a+b.type()+a+b.length() }; b.toString=function(){return"InteractionElement: [id: "+b.id()+", index: "+b.index()+", length: "+b.length()+", type: "+b.type()+"]" } }function UIElementList(){var e=(this===window)?{}:this; var d=new Hashtable(); var f=new Hashtable(); e.get=function(a){return d.get(a) }; e.getByIndex=function(a){return f.get(a) }; e.containsKey=function(a){return d.containsKey(a) }; e.indexByKey=function(a){return get(a).index() }; e.size=function(){return d.size() }; e.put=function(a){var b=a.id(); if(!d.containsKey(b)){d.put(b,a); var c=d.size(); a.index(c); f.put(c,a) }}; e.toString=function(){return"[size: "+d.size()+", names: ["+d+"], indexes: ["+f+"]]" } }function activeXDetect(e){var f=null; try{f=document.body.getComponentVersion("{"+e+"}","ComponentID") }catch(d){}return(f!==null)?f:false }function stripIllegalChars(h){t=""; h=h.toLowerCase(); var g=h.length; for(var f=0; f=0){filenameLen=l.length; l=l.substring(j+q.length,filenameLen) }var r=l.indexOf(o); if(r>=0){l=l.slice(0,r) }return l }var BrowserDetect={init:function(){this.browser=this.searchString(this.dataBrowser)||"an unknown browser"; this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"an unknown version"; this.OS=this.searchString(this.dataOS)||"an unknown OS" },searchString:function(l){var k=l.length; for(var o=0; o